/**
 * Copyright (c) 2016-2019 人人开源 All rights reserved.
 *
 * https://www.renren.io
 *
 * 版权所有，侵权必究！
 */

package io.renren.common.utils;

/**
 * 常量
 *
 * @author Mark sunlightcs@gmail.com
 */
public class Constant {
	/** 系统稳定运行天数 */
	public static int SYS_WORK_DAYS = 1;
	/** 超级管理员ID */
	public static final int SUPER_ADMIN = 1;
    /**
     * 当前页码
     */
    public static final String PAGE = "page";
    /**
     * 每页显示记录数
     */
    public static final String LIMIT = "limit";
    /**
     * 排序字段
     */
    public static final String ORDER_FIELD = "sidx";
    /**
     * 排序方式
     */
    public static final String ORDER = "order";
    /**
     *  升序
     */
    public static final String ASC = "asc";
	/**
	 * 菜单类型
	 * 
	 * @author chenshun
	 * @email sunlightcs@gmail.com
	 * @date 2016年11月15日 下午1:24:29
	 */
    public enum MenuType {
        /**
         * 目录
         */
    	CATALOG(0),
        /**
         * 菜单
         */
        MENU(1),
        /**
         * 按钮
         */
        BUTTON(2);

        private int value;

        MenuType(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }
    
    /**
     * 定时任务状态
     * 
     * @author chenshun
     * @email sunlightcs@gmail.com
     * @date 2016年12月3日 上午12:07:22
     */
    public enum ScheduleStatus {
        /**
         * 正常
         */
    	NORMAL(0),
        /**
         * 暂停
         */
    	PAUSE(1);

        private int value;

        ScheduleStatus(int value) {
            this.value = value;
        }
        
        public int getValue() {
            return value;
        }
    }

    /**
     * 云服务商
     */
    public enum CloudService {
        /**
         * 七牛云
         */
        QINIU(1),
        /**
         * 阿里云
         */
        ALIYUN(2),
        /**
         * 腾讯云
         */
        QCLOUD(3);

        private int value;

        CloudService(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

    /**
     * 通讯服务端端口
     */
    public static int SocketPort = 8181;

    //通讯json
    public static final String CMD_ACTION = "action";
    public static final String CMD_MSGID = "msgId";
    public static final String CMD_CONTENT = "content";
    public static final String CMD_RESULT = "result";
    public static final String CMD_MSG = "msg";
    public static final String CMD_OK = "ok";
    public static final String CMD_ERROR = "error";
    public static final String CMD_SUCCESS = "success";

    //协议类型
    public static final byte AM_IEC104 = 0x00;
    public static final byte AM_PRIVAT = 0x01;

    //类型标识
    //单点遥信 带品质描述，不带时标
    public static final int M_SP_NA_1 = 1;
    //双点遥信 带品质描述，不带时标
    public static final int M_DP_NA_1 = 3;
    //步位置信息 带品质描述，不带时标
    public static final int M_ST_NA_1 = 5;
    //32比特串 带品质描述，不带时标
    public static final int M_BO_NA_1 = 7;
    //规一化遥测值 带品质描述，不带时标
    public static final int M_ME_NA_1 = 9;
    //标度化遥测值 带品质描述，不带时标
    public static final int M_ME_NB_1 = 11;
    //短浮点遥测值 带品质描述，不带时标
    public static final int M_ME_NC_1 = 13;
    //累计量 带品质描述，不带时标
    public static final int M_IT_NA_1 = 15;
    //成组单点遥信 只带变位标志
    public static final int M_PS_NA_1 = 20;
    //规一化遥测值 不带品质描述，不带时标
    public static final int M_ME_ND_1 = 21;

    //单点遥信 带品质描述，带绝对时标
    public static final int M_SP_TB_1 = 30;
    //双点遥信 带品质描述，带绝对时标
    public static final int M_DP_TB_1 = 31;
    //步位置信息 带品质描述，带绝对时标
    public static final int M_ST_TB_1 = 32;
    //32比特串 带品质描述，带绝对时标
    public static final int M_BO_TB_1 = 33;
    //规一化遥测值 带品质描述，带绝对时标
    public static final int M_ME_TD_1 = 34;
    //标度化遥测值 带品质描述，带绝对时标
    public static final int M_ME_TE_1 = 35;
    //短浮点遥测值 带品质描述，带绝对时标
    public static final int M_ME_TF_1 = 36;
    //累计量 带品质描述，带绝对时标
    public static final int M_IT_TB_1 = 37;
    //继电保护装置事件 带品质描述，带绝对时标
    public static final int M_EP_TD_1 = 38;
    //继电保护装置成组启动事件 带品质描述，带绝对时标
    public static final int M_EP_TE_1 = 39;
    //继电保护装置成组出口信息 带品质描述，带绝对时标
    public static final int M_EP_TF_1 = 40;

    //单点遥控 一个报文只有一个遥控信号，不带时标
    public static final int M_SC_NA_1 = 45;
    //双点遥控 一个报文只有一个遥控信号，不带时标
    public static final int M_DC_NA_1 = 46;
    //升降遥控 一个报文只有一个遥控信号，不带时标
    public static final int M_RC_NA_1 = 47;
    //规一化设定值 一个报文只有一个设定值，不带时标
    public static final int M_SE_NA_1 = 48;
    //标度化设定值 一个报文只有一个设定值，不带时标
    public static final int M_SE_NB_1 = 49;
    //短浮点设定值 一个报文只有一个设定值，不带时标
    public static final int M_SE_NC_1 = 50;
    //32比特串 一个报文只有一个设定值，不带时标
    public static final int M_SE_ND_1 = 51;

    //单点遥控 一个报文只有一个设定值，带时标
    public static final int M_SE_TA_1 = 58;
    //双点遥控 一个报文只有一个设定值，带时标
    public static final int M_SE_TB_1 = 59;
    //升降遥控 一个报文只有一个设定值，带时标
    public static final int M_SE_TC_1 = 60;
    //规一化设定值 一个报文只有一个设定值，带时标
    public static final int M_SE_TD_1 = 61;
    //标度化设定值 一个报文只有一个设定值，带时标
    public static final int M_SE_TE_1 = 62;
    //短浮点设定值 一个报文只有一个设定值，带时标
    public static final int M_SE_TF_1 = 63;
    //32比特串 一个报文只有一个设定值，带时标
    public static final int M_SE_TG_1 = 64;

    //规一化设定值 一个报文可以包含多个设定值，不带时标
    public static final int M_SE_NE_1 = 136;
}
